Fishing = {}
Fishing["TypeNone"] = 2
Fishing["LureType"] = 3
Fishing["LureMod"] = 4
Fishing["MaxFish"] = 10
kFishPondEffectHolderGUID = 303922897

function function_14(param0, param1)
	myvar_2 = nWorld["GetLotSizeX"]()
	myvar_3 = nWorld["GetLotSizeY"]()
	myvar_4,myvar_5,myvar_6 = nWorld["GetObjectTile"](param0)
		if (param1 == 0) then
		myvar_4 = myvar_4 - 3
	else
			if (param1 == 1) then
			myvar_4 = myvar_4 - 2
			myvar_5 = myvar_5 + 2
		else
				if (param1 == 2) then
				myvar_5 = myvar_5 + 3
			else
					if (param1 == 3) then
					myvar_4 = myvar_4 + 2
					myvar_5 = myvar_5 + 2
				else
						if (param1 == 4) then
						myvar_4 = myvar_4 + 3
					else
							if (param1 == 5) then
							myvar_4 = myvar_4 + 2
							myvar_5 = myvar_5 - 2
						else
								if (param1 == 6) then
								myvar_5 = myvar_5 - 3
							else
									if (param1 == 7) then
									myvar_4 = myvar_4 - 2
									myvar_5 = myvar_5 - 2
								end
							end
						end
					end
				end
			end
		end
	end
	SetTemp(0, myvar_4)
	SetTemp(1, myvar_5)
	local myvar_8 = 2
	SetTemp(myvar_8, myvar_6)
	local myvar_7 = True
	return myvar_7
end

Fishing["GetReelInTile"] = function_14

function function_17(param0, param1, param2)
		if (nWorld["IsDeckOnTile"](param0, param1) ~= 0) then 
	

		return False
	end
		if (nWorld["IsWaterOnEntireTile"](param0, param1) ~= 0) then 
	

		return True
	end
	local myvar_3 = False
	return myvar_3
end

Fishing["CanFishHere"] = function_17

function function_20(param0, param1, param2)
		if (nWorld["IsWaterOnEntireTile"](param0, param1) ~= 0) then 
	

		myvar_4 = nWorld["GetWaterElevationForXY"](param0, param1)
			if (nWorld["GetTerrainElevationForXY"](param0, param1) <= (myvar_4 - 2)) then
			myvar_5 = nWorld["GetLotSizeX"]()
			myvar_6 = nWorld["GetLotSizeY"]()
				if (0 <= (param0 - 1)) then
					if ((param0 - 1) <= myvar_5) then
						if (nWorld["IsWaterOnEntireTile"]((param0 - 1), param1) == False) then
						return False
					end
				end
			end
				if (0 <= (param0 + 1)) then
					if ((param0 + 1) <= myvar_5) then
						if (nWorld["IsWaterOnEntireTile"]((param0 + 1), param1) == False) then
						return False
					end
				end
			end
				if (0 <= (param1 + 1)) then
					if ((param1 + 1) <= myvar_6) then
						if (nWorld["IsWaterOnEntireTile"](param0, (param1 + 1)) == False) then
						return False
					end
				end
			end
				if (0 <= (param1 - 1)) then
					if ((param1 - 1) <= myvar_6) then
					local myvar_8 = False
						if (nWorld["IsWaterOnEntireTile"](param0, (param1 - 1)) == myvar_8) then
						return False
					end
				end
			end
			local myvar_7 = True
			return myvar_7
		end
	end
	local myvar_3 = False
	return myvar_3
end

Fishing["EligibleForEmitter"] = function_20

function fmod(param0, param1)
	myvar_2 = math["floor"]((param0 / param1))
	myvar_2 = param1 * myvar_2
	myvar_2 = param0 - myvar_2
	return myvar_2
end


function function_25()
	myvar_0 = nWorld["GetLotSizeX"]()
	myvar_1 = nWorld["GetLotSizeY"]()
	myvar_2 = GlobalObjManager["getObjectIds"](GlobalObjManager, GlobalObjManager["kQuery_ByGUID"], kFishPondEffectHolderGUID)
	local myvar_3 = 0
	local myvar_6 = 1
	for 0=0, myvar_0, myvar_6 do 
	local myvar_9 = 1
	for 0=0, myvar_1, myvar_9 do 
		if (Fishing["EligibleForEmitter"](0, 0, 0) ~= 0) then 
	

		myvar_3 = myvar_3 + 1
	end
	end
	end
	local myvar_4 = 0
	local myvar_5 = 0
	myvar_6 = myvar_0
	local myvar_7 = 1
	for myvar_5=0, myvar_6, myvar_7 do 
	local myvar_8 = 0
	myvar_9 = myvar_1
	local myvar_10 = 1
	for myvar_8=0, myvar_9, myvar_10 do 
	local myvar_15 = 0
		if (Fishing["EligibleForEmitter"](myvar_5, myvar_8, myvar_15) ~= 0) then 
	

		myvar_4 = myvar_4 + 1
			if (myvar_3 >= 15) then
				if (myvar_3 < 60) then
					if (fmod(myvar_4, 2) ~= 0) then
				else
						if (fmod(myvar_4, 4) == 0) then
					else
					end
					myvar_4, 4, myvar_15 = nil
					for loopvar1, myvar_15 in myvar_2 do 
					myvar_16,{R17},myvar_18 = nWorld["GetObjectLocation"](myvar_15)
						if ((myvar_5 + 0.5) == myvar_16) then
							if ((myvar_8 + 0.5) == myvar_16(myvar_15)) then
							local myvar_11 = True
						else
							end
						end
					end
						if (myvar_11 == False) then
						myvar_12 = GlobalObjManager["createNewObject"](GlobalObjManager, kFishPondEffectHolderGUID)
							if (0 < myvar_12) then
							myvar_15 = myvar_5 + 0.5
							myvar_16 = myvar_8 + 0.5
							local myvar_17 = 0
							myvar_13 = nWorld["MoveObjectToLocation"](myvar_12, myvar_15, myvar_16, myvar_17)
								if (myvar_13 == False) then
								myvar_15 = GlobalObjManager
	
								myvar_16 = myvar_12
								GlobalObjManager["removeObjectInstance"](myvar_15, myvar_16)
							end
						end
					end
				end
			end
		end
	end
	end
	end
end

Fishing["PlaceFXEmitters"] = function_25

function function_28(param0, param1, param2)
	myvar_3 = math["random"](100)
	local myvar_5 = 0
	param0 = param0 + 1
	param2 = param2 + 1
	for Fishing["TypeNone"]=2, Fishing["MaxFish"], 1 do 
		if (0 < param1) then
	end
	local myvar_11 = 1
	for 1=1, 3, myvar_11 do 
		if (gLureTuning[param2][1][Fishing["LureType"]] == Fishing["TypeNone"]) then
	end
	end
		if (0 < ((gFishingChance[param0][Fishing["TypeNone"]] + gRecastModify[param0][Fishing["TypeNone"]]) + gLureTuning[param2][1][Fishing["LureMod"]])) then
		myvar_5 = myvar_5 + ((gFishingChance[param0][Fishing["TypeNone"]] + gRecastModify[param0][Fishing["TypeNone"]]) + gLureTuning[param2][1][Fishing["LureMod"]])
			if (myvar_3 <= myvar_5) then
			local myvar_10 = 2
			myvar_11 = Fishing["TypeNone"] - 1
			SetTemp(myvar_10, myvar_11)
			return 
		end
	end
	end
	local myvar_7 = 2
	local myvar_8 = 0
	SetTemp(myvar_7, myvar_8)
end

Fishing["ChooseFishType"] = function_28

function function_31(param0, param1)
	myvar_2 = nWorld["GetLotSizeX"]()
	myvar_3 = nWorld["GetLotSizeY"]()
	myvar_4,myvar_5,myvar_6 = nWorld["GetObjectTile"](param0)
	myvar_7 = nWorld["GetTerrainElevationForXY"](myvar_4, myvar_5)
		if (GlobalObjManager["isWallBetweenObjects"](GlobalObjManager, param0, param1) == True) then
		SetTemp(5, 2)
		return False
	end
		if (0 <= (myvar_4 - 1)) then
			if ((myvar_4 - 1) <= myvar_2) then
				if (nWorld["IsWaterOnTile"]((myvar_4 - 1), myvar_5) ~= 0) then 
	

					if ((myvar_7 - nWorld["GetWaterElevationForXY"]((myvar_4 - 1), myvar_5)) <= 1) then
					return True
				end
			end
		end
	end
		if (0 <= (myvar_4 + 1)) then
			if ((myvar_4 + 1) <= myvar_2) then
				if (nWorld["IsWaterOnTile"]((myvar_4 + 1), myvar_5) ~= 0) then 
	

					if ((myvar_7 - nWorld["GetWaterElevationForXY"]((myvar_4 + 1), myvar_5)) <= 1) then
					return True
				end
			end
		end
	end
		if (0 <= (myvar_5 + 1)) then
			if ((myvar_5 + 1) <= myvar_3) then
				if (nWorld["IsWaterOnTile"](myvar_4, (myvar_5 + 1)) ~= 0) then 
	

					if ((myvar_7 - nWorld["GetWaterElevationForXY"](myvar_4, (myvar_5 + 1))) <= 1) then
					return True
				end
			end
		end
	end
		if (0 <= (myvar_5 - 1)) then
			if ((myvar_5 - 1) <= myvar_3) then
				if (nWorld["IsWaterOnTile"](myvar_4, (myvar_5 - 1)) ~= 0) then 
	

					if ((myvar_7 - nWorld["GetWaterElevationForXY"](myvar_4, (myvar_5 - 1))) <= 1) then
					return True
				end
			end
		end
	end
	local myvar_10 = 5
	local myvar_11 = 4
	SetTemp(myvar_10, myvar_11)
	local myvar_9 = False
	return myvar_9
end

Fishing["IsValidDestination"] = function_31
